﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.Common;

namespace SBPweb.Data.Generic
{

	/// <summary>
	/// This interface describes a factory, wich is able to construct an sql command for update
	/// </summary>
	/// <typeparam name="TDomainObject">Domain object</typeparam>
	public interface IUpdateFactory<TDomainObject> : IDbToBusinessEntityNameMapper
    {
		/// <summary>
		/// This method constructs the sql command
		/// </summary>
		/// <param name="db">SqlDatabase db</param>
		/// <param name="domainObject">TDomainObject domainObject</param>
		/// <returns>SqlCommand</returns>
		DbCommand ConstructUpdateCommand(Database db, TDomainObject domainObject);
    }
}
